FIG. 1 is a block diagram illustrating a typical traffic flow over a virtual interface. As used herein, a “virtual interface” refers to any construct which is not entirely defined by its physicality. Examples of virtual interfaces include, but are not limited to, Pseudo-Wire (PW), Link Aggregation Group (LAG), Layer 2 Tunneling Protocol (L2TP) Network Server (LNS), Multilink Point-to-Point (MLPPP) multi-protocol (MP), etc. Network traffic egressing (i.e., exiting) a virtual interface can be routed over a multi-path topology. In other words, the virtual interface is connected to a physical network using multiple physical transport links. Although QoS features are typically applied on the virtual interface, each packet needs to egress out of one of the physical transport links associated with the virtual interface. Each physical transport link can be shared by other interfaces and may have its own QoS hierarchy.
Conventionally, QoS are implemented on a virtual interface using either the distributed service model (as illustrated in FIG. 2) or the pinned service model (as illustrated in FIG. 3). In the distributed service model, QoS resources are replicated on each physical transport link. This model allows for the multi-path topology to be fully utilized. In the pinned service model, QoS resources are pinned to a particular egress physical transport link. This model allows for efficient utilization of resources and virtual interface aggregate level shaping.
The distributed service model, however, suffers multiple drawbacks. For example, this model requires QoS resources to be replicated across each of the physical transport links. Further, in the distributed service model, virtual interface aggregate level shaping and metering are unachievable. The pinned service model also suffers multiple drawbacks. For example, this model restricts the ability of forwarding to use multi-path topology. In both models, the virtual interfaces are tightly coupled to the physical transport links, which is not well suited for network function virtualization (NFV).